The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the inventors hereof, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
This disclosure relates generally to low power data decoding, and more particularly to low power iterative decoders for data encoded with a low-density parity check (LDPC) encoder.
LDPC codes may be used for effectively correcting errors in information transmitted in a noisy communications channel. The information may be encoded (by a LDPC encoder) prior to transmission and then subsequently decoded (by a LDPC decoder) when received.
LDPC codes may be defined by one of many different types of parity check matrices. The structure of an LDPC code's parity check matrix may be, for example, random, cyclic, or quasi-cyclic. A LDPC decoder (e.g., a flooding decoder) may decode LDPC codes using an iterative message passing algorithm (flooding decoding), such as a min-sum decoding algorithm. Such algorithms may decode a received codeword using an iterative process in which each iteration includes two update steps involving check nodes and variable nodes passing messages to one another. Another LDPC decoder (e.g., a layered decoder) may use a layered approach to decoding (layered decoding) to decode LDPC codes. Both layered and flooding decoding approaches involve messages being updated and stored. As used herein, the term message refers to a numerical value, usually representing a log likelihood ratio (LLR) calculated based on the information (e.g., a vector) received from a communications channel by an LDPC decoder. LDPC codes and decoders that are used to decode LDPC codes may be use in numerous applications and devices. For example, data storage, satellite communications, wireless communications, wire-line communications, and power-line communications are applications that may each require the use of LDPC codes and LDPC decoders. Devices such as digital camera flash memory storage, satellites, mobile phones, and other mobile devices may each require the use of LDPC codes and LDPC decoders.
Due to the widespread use of LDPC codes in numerous applications and devices, traditional LDPC decoders that operate without a low power consumption may disadvantageously consume a large amount of power at a high rate. For example, traditional LDPC decoders that have a high rate of power consumption may cause the batteries of a mobile device to be drained at a substantially high rate.